// 导出一个自定义的函数用于将请求打包成一个promise返回，微信开发存在脚手架所以可以使用模块化的内容
let ajaxTimes = 0
export const request = (params) => {
    // 判断url中是否带有/my/请求的是私有的路径 带上header token
    // 避免写死数据，所以可以从params中传递并解构header
    let header = { ...params.header };
    if (params.url.includes("/my/")) {
        //拼接header 带上token
        header["Authorization"] = wx.getStorageSync("token");

    }


    ajaxTimes++
    // 显示加载中效果
    wx.showLoading({
        title: "加载中",
        // 加入蒙版，加载时无法操作
        mask: true,
    });

    // 定义公共的url
    const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1"
    return new Promise((resolve, reject) => {
        wx.request({
            // 将参数params解构出来，作为wx:request的参数
            ...params,
            header,
            url: baseUrl + params.url,
            success (res) {
                resolve(res.data.message)
            },
            fail (err) {
                reject(err)
            },
            complete () {
                ajaxTimes--
                if (ajaxTimes === 0)
                    // 关闭加载的效果
                    wx.hideLoading();
            }
        });
    })
}